This disclosure relates in general to content delivery networks and, but not by way of limitation, to serving content objects from edge server caches of a content delivery network.
Content delivery networks (CDNs) are in the business of delivering content for others. CDNs will either cache and/or host content for its customers. Efficiently delivering content for a large number of customers creates difficulty. It would not be practical to store every possible content object serviced by the CDN on every edge server. Often caches are used on the edge servers to store popular or important content at the edges of the CDN. Popular content is less likely to have delivery latency, while less popular content is more likely to take a longer time to locate and deliver.
In some cases, the content object is not available on the edge server. This situation is sometimes referred to as a cache miss. A universal resource locator (URL) provided to the CDN from a requestor is used to find the content with a cache miss. The content may be hosted internal to the CDN or with a content provider. Finding the content object can be time intensive and affect the quality of service (QoS) perceived by the requestor. This is especially true for content that cannot be located in the CDN and requires a request to an external origin server to find the content.
CDNs are typically comprised of a number of different locations that serve content from, so called points of presence (POPs). In some cases, these different POPs are interconnected using the Internet and/or private backbones. Content not found in one POP may be readily available from another POP. Even within a POP, there are typically a number of different edge servers that each fulfill requests for content. These different edge servers have different capabilities and different content in their cache. A cache miss at a particular edge server would be expensive in QoS terms to fulfill from another server or even outside the CDN.